Group API Calls

Create a User Group

This call creates a user group. User groups allow you to assign apps, content and roles to multiple users. For example, you might create a Managers group if you want all department managers to be administrators for apps and content.

You can easily create static account groups. You can also create dynamic account groups, but this requires expertise in ANTLR expression, therefore, creating dynamic account groups is much easier from the Ivanti Neurons for MDM user interface.

Authentication

This call requires Tenant Admin credentials.

HTTP Method

POST

Request URI

api/v1/group

Request Parameters

Parameter

Argument Type

Description

Example Value

name

Request body

Specify the name of the group.

 

source

Request body

Valid value: LOCAL

LOCAL

membershipStatic

Request Body

Specifies to create a static account group.

Values:

    true

    false

If the membershipStatic parameter is not present, then the system expects the definition parameter decribed below, which creates a dynamic account group.

true

definition

Request body

Use only if you want to specify a dynamic account group. This requires an ANTLR expression. We recommend using the Ivanti Neurons for MDM user interface to create dynamic account groups, unless you are an expert in ANTLR expression.

If you do use an ANTLR expression, only use the attribute and value pairs available in the user interface. Mixing and matching is unsupported and may result in an unstable system. Only use the values offered by Ivanti Neurons for MDM at position of Users > User Groups > + Add that correspond with the attribute you choose at position :

 

Example Request

Example Request URL

https://[Ivanti Neurons for MDM]/api/v1/group

Example Request Body

name=ForDocs2

source=LOCAL

membershipStatic=true

Response Fields

Field

Description

errors

Errors returned by the call

result

 

    id

Internal ID for the user

    createdBy

Who created the group.

    modifiedBy

Who modified the group.

    name

Name of the group.

source

Can be LOCAL. LDAP may be supported later.

mutable

Can be modified by default.

membershipStatic

 

Example Response

{

    "errors": null,

    "result": {

        "id": 2168413,

        "createdBy": 12533,

        "modifiedBy": 12533,

        "name": "ForDocs2",

        "source": "LOCAL",

        "mutable": true,

        "membershipStatic": true

    }

}

List User Groups

This call lists user groups.

Authentication

This call requires Tenant Admin credentials.

HTTP Method

GET

Request URI

api/v1/group

Example Request

curl 'https:// [Ivanti Neurons for MDM]/api/v1/group'

Response Fields

Field

Description

errors

 

result

 

    searchResults

 

            id

 

            modifiedAt

 

            modifiedBy

 

            name

 

            description

 

            source

 

            mutable

Can be modified by default.

            definition

 

            membershipStatic

 

            idpGroupDeleted

 

            applicationCount

 

            lastRefresh

 

            treeView

 

                operator

 

                rule

 

                    field

 

                    cfAttributeName

 

                    operator

 

                    values

 

                        All Users"

 

                children

 

    totalCount

 

    offset

 

    limit

 

Example Response

{

    "errors": null,

"result": {

        "searchResults": [

            {

                "id": 11776,

                "modifiedAt": 1389288442684,

                "modifiedBy": 1,

                "name": "All Users",

                "description": "All Users",

                "source": "LOCAL",

                "mutable": true,

                "definition": "ACCOUNTGROUP EQ 'All Users'",

                "membershipStatic": true,

                "idpGroupDeleted": false,

                "applicationCount": 24,

                "lastRefresh": 1519943024892,

                "treeView": {

                    "operator": "LEAF",

                    "rule": {

                        "field": "ACCOUNTGROUP",

                        "cfAttributeName": null,

                        "operator": "EQ",

                        "values": [

                            "All Users"

                        ]

                    },

                    "children": null

                }

            },

            …

        ],

        "totalCount": 16,

        "offset": 0,

        "limit": 20

    }

}

Update Accounts for Group

This call updates accounts for a group.

Authentication

This call requires Tenant Admin credentials.

HTTP Method

PUT

Request URI

api/v1/group/{id}/accounts

Request Parameters

Parameter

Argument Type

Description

Example Value

groupId

Request Body

The group id of the account that must be updated.

38041

Example Request

Example Request URL

curl -X PUT 'https://<hostname>/api/v1/rule_group/38041/devices?groupId=38041’ \

--header 'Authorization: Basic =='\

--header 'Content-Type: application/json' \

--data-raw '{

deviceIdList” : [111111]

}’

Example Response

{

    "errors": null,

"result": 0

}

Check Delete Viability

This call determines whether a group can be deleted.

Authentication

This call requires Tenant Admin credentials.

HTTP Method

GET

Request URI

/v1/group?checkDeleteViability=true&ids=<ids>

Request Parameters

Parameter

Argument Type

Description

Example Value

ids

Path

Groups for which to check delete viability. Use comma separated list for multiple IDs. You can get the IDs using the List User Groups call.

4677669

Example Request

curl 'https://[Ivanti Neurons for MDM]/api/v1/group?checkDeleteViability=true&ids=4677669'

Example Response

{

    "errors": null,

    "result": {

        "searchResults": [ ],

        "totalCount": 0,

        "offset": 0,

        "limit": 0

    }

}

Delete Group

This call deletes a group. You can run the Check Delete Viability call first to check whether the delete call would be successful.

Authentication

This call requires Tenant Admin credentials.

HTTP Method

DELETE

Request URI

api/v1/group?id=<id>

Request Parameters

Parameter

Argument Type

Description

Example Value

id

Path

ID of group to delete. You can get the ID using the List User Groups call.

4677669

Example Request

curl 'https://[Ivanti Neurons for MDM]/api/v1/group?id=4677669' -X DELETE

Example Response

{

    "errors": null,

    "result": 1

}

Delete Static Group Membership

This call deletes a static group membership.

Authentication

This call requires Tenant Admin credentials.

HTTP Method

DELETE

Request URI

api/v1/rule_group/{id}/devices

Request Parameters

Parameter

Argument Type

Description

Example Value

groupId

Request Body

The device identifier

38041

deviceIds

Request Body

List of device ids

 

Example Request

curl -X DELETE 'https://<hostname>/api/v1/rule_group/38041/devices’ \

--header 'Authorization: Basic =='\

--header 'Content-Type: application/json' \

--data-raw '{

deviceIds” : [111111]

}’

Example Response

{

    "errors": null,

    "result": 0

}

Assign User to Group, Method 1

This call associates a user to a group.

Authentication

This call requires Tenant Admin credentials.

HTTP Method

PUT

Request URI

api/v1/account

Request Parameters

Parameter

Argument Type

Description

Example Value

accountIds

Path

Accounts to assign to the group.

102000

groupIds

Path

Groups to which to assign the users.

11124,11125

append

Path

Boolean, TRUE or FALSE, specifies whether to assign the given accounts to the given groups, or to replace the current group memberships of the given accounts with the new given groups.

TRUE

Example Request

https://[Ivanti Neurons for MDM]/api/v1/account?accountIds=10200&groupIds=11124,11125&append=true

Example Response

{

"errors":null,

"result":true

}

Assign User to Group, Method 2

This call assigns a user(s) to a group.

Authentication

This call requires Tenant Admin credentials.

HTTP Method

PUT

Request URI

api/v1/group/{id}/accounts

Request Parameters

Parameter

Argument Type

Description

Example Value

id

Path

ID of the group

11003

 

Path

 

 

 

Path

 

 

accountIds

Request body

Accounts to assign to the group.

10004

append

Request body

Boolean, TRUE or FALSE, specifies whether to assign the group members to the group or to replace the group members with the new members

TRUE

 

Request body

 

 

Example Request

Example Request URL

https://cluster057.auto.acme.com/api/v1/group/11003/accounts

Example Request Body

accountIds=10004

append=TRUE

Example Response

{

"errors":null,

"result":true

}

Create a Device Group

This call creates a device rule group.

Authentication

This call requires tenant admin credentials.

HTTP Method

POST

Request URI

/api/v1/rule_group 

Request Parameters

Parameter

Argument Type

Description

Example Value

name

Request body

Rule group name

All Devices

type

Request body

Value is DEVICE

DEVICE

dmPartitionId

Request body

Device space ID. You can get this using the GET Tenant call

23003

description

Request body

Describes the new group

Test+for+docs

definition

Request body

The rule group criteria.

You must add _# to the attribute name if creating a device group using numerical custom device attributes.

definition=PRETTYMODEL+EQ+'HTC+One+X'+

Example Request

Example Request URL

http://[Ivanti Neurons for MDM]/api/v1/rule_group

Example Request Body

name=TestForDocs

type=DEVICE

description=Test+for+docs

dmPartitionId=23003

definition=PRETTYMODEL+EQ+'HTC+One+X'+

Response Fields

200 OK

Example Response

{

  "errors": null,

  "result": {

    "id": 39340

    "createdAt": null,

    "createdBy": 10044,

    "modifiedAt": null,

    "modifiedBy": 10044,

    "name": "TestForDocs",

    "description": "Test group for docs",

    "type": "DEVICE",

    "definition": "PRETTYMODEL EQ 'iPad' ",

    "mutable": true,

    "memberCount": 0,

    "dmPartitionId": 23003,

    "treeView": {

      "operator": "LEAF",

      "rule": {

        "field": "PRETTYMODEL",

        "operator": "EQ",

        "values": [

          "iPad"

        ]

      },

      "children": null

    },

    "actionExceptionCodes": null,

    "assignedConfigs": null,

    "assignedPolicies": null

  }

}

Get List of Device Groups

This call returns a list of all device groups. You can use the assignedPoliciesAndConfigs and memberCount parameters to reduce the size of the return.

Authentication

This call requires tenant admin credentials.

HTTP Method

GET

Request URI

/api/v1/rule_group?dmPartitionId=id&type=DEVICE

Request Parameters

Parameter

Argument Type

Description

Example Value

dmPartitionId

Query

dmPartitionId is the tenant’s device space ID. You can get this with the GET /api/v1/metadata/tenant call.

23000

assignedPoliciesAndConfigs

Query

Boolean, true or false. Default is true. Set to false to retrieve a response without a list of the assigned policies and configurations, greatly reducing the size of the response.

assignedPoliciesAndConfigs=false

memberCount

Query

Boolean, true or false. Default is true. Set to false to retrieve a response without a count of the group members, reducing query time.

memberCount=false

type=DEVICE

Query

Directs the call to retrieve all device groups.

type=DEVICE

Example Requests

Get list of device groups with all available data

https://[Ivanti Neurons for MDM]/api/v1/rule_group?dmPartitionId=23003&type=DEVICE

Get list of device groups without assigned policies, configurations, and member counts

https://[Ivanti Neurons for MDM]/api/v1/rule_group?dmPartitionId=23003&type=DEVICE&assignedPoliciesAndConfigs=false&memberCount=false

Response Fields

Field

Description

errors

 

result

 

    totalCount

 

    queryTime

 

    searchResults

 

            id

 

            createdAt

 

            createdBy

 

            modifiedAt

 

            modifiedBy

 

            dmPartitionId

 

            name

 

            description

 

            type

 

            definition

 

            mutable

Can be modified by default.

            memberCount

Count not included if call issued with memberCount=false

            systemName

 

            membershipStatic

 

            treeView

 

            actionExceptionCodes

 

            assignedConfigs

 

                    id

Not included if call issued with assignedPoliciesAndConfigs=false.

                    dmPartitionId

Not included if call issued with assignedPoliciesAndConfigs=false.

                    name

Not included if call issued with assignedPoliciesAndConfigs=false.

                    systemName

Not included if call issued with assignedPoliciesAndConfigs=false.

                    description

Not included if call issued with assignedPoliciesAndConfigs=false.

                    dmPartitionDistributionType

Not included if call issued with assignedPoliciesAndConfigs=false.

                    policyType

Not included if call issued with assignedPoliciesAndConfigs=false.

                    policyRuleType

Not included if call issued with assignedPoliciesAndConfigs=false.

                    uuid

Not included if call issued with assignedPoliciesAndConfigs=false.

                    enabled

Not included if call issued with assignedPoliciesAndConfigs=false.

                    priority

Not included if call issued with assignedPoliciesAndConfigs=false.

                    configurationMutable

Not included if call issued with assignedPoliciesAndConfigs=false.

                    distributionMutable

Not included if call issued with assignedPoliciesAndConfigs=false.

                    priorityMutable

Not included if call issued with assignedPoliciesAndConfigs=false.

                    deletable

Not included if call issued with assignedPoliciesAndConfigs=false.

                    totalDeviceCount

Not included if call issued with assignedPoliciesAndConfigs=false.

                    installedDeviceCount

Not included if call issued with assignedPoliciesAndConfigs=false.

                    violationDeviceCount

Not included if call issued with assignedPoliciesAndConfigs=false.

                    modifiedAt

Not included if call issued with assignedPoliciesAndConfigs=false.

                    modifiedBy

Not included if call issued with assignedPoliciesAndConfigs=false.

                    actions

Not included if call issued with assignedPoliciesAndConfigs=false.

                    systemDefault

Not included if call issued with assignedPoliciesAndConfigs=false.

            assignedPolicies

 

                    id

Not included if call issued with assignedPoliciesAndConfigs=false.

                    dmPartitionId

Not included if call issued with assignedPoliciesAndConfigs=false.

                    name

Not included if call issued with assignedPoliciesAndConfigs=false.

                    systemName

Not included if call issued with assignedPoliciesAndConfigs=false.

                    description

Not included if call issued with assignedPoliciesAndConfigs=false.

                    dmPartitionDistributionType

Not included if call issued with assignedPoliciesAndConfigs=false.

                    policyType

Not included if call issued with assignedPoliciesAndConfigs=false.

                    policyRuleType

Not included if call issued with assignedPoliciesAndConfigs=false.

                    uuid

Not included if call issued with assignedPoliciesAndConfigs=false.

                    enabled

Not included if call issued with assignedPoliciesAndConfigs=false.

                    priority

Not included if call issued with assignedPoliciesAndConfigs=false.

                    configurationMutable

Not included if call issued with assignedPoliciesAndConfigs=false.

                    distributionMutable

Not included if call issued with assignedPoliciesAndConfigs=false.

                    priorityMutable

Not included if call issued with assignedPoliciesAndConfigs=false.

                    deletable

Not included if call issued with assignedPoliciesAndConfigs=false.

                    totalDeviceCount

Not included if call issued with assignedPoliciesAndConfigs=false.

                    installedDeviceCount

Not included if call issued with assignedPoliciesAndConfigs=false.

                    violationDeviceCount

Not included if call issued with assignedPoliciesAndConfigs=false.

                    modifiedAt

Not included if call issued with assignedPoliciesAndConfigs=false.

                    modifiedBy

Not included if call issued with assignedPoliciesAndConfigs=false.

                    actions

Not included if call issued with assignedPoliciesAndConfigs=false.

                    systemDefault

Not included if call issued with assignedPoliciesAndConfigs=false.

            staticMembers

 

    offset

 

    limit

 

Example Responses

Get list of device groups withall available data

{

    "errors": null,

    "result": {

        "totalCount": 43,

        "queryTime": 0,

        "searchResults": [

            {

                "id": 38009,

                "createdAt": null,

                "createdBy": null,

                "modifiedAt": null,

                "modifiedBy": null,

                "dmPartitionId": 23003,

                "name": "All Devices",

                "description": "Targets any type of device.",

                "type": "DEVICE",

                "definition": null,

                "mutable": false,

                "memberCount": 510,

                "systemName": "ALL_DEVICES",

                "membershipStatic": false,

                "treeView": null,

                "actionExceptionCodes": null,

                "assignedConfigs": [

                    {

                        "id": null,

                        "dmPartitionId": null,

                        "name": "Privacy",

                        "systemName": null,

                        "description": null,

                        "dmPartitionDistributionType": null,

                        "policyType": "PRIVACY",

                        "policyRuleType": "NONE",

                        "uuid": null,

                        "enabled": false,

                        "priority": null,

                        "configurationMutable": false,

                        "distributionMutable": false,

                        "priorityMutable": false,

                        "deletable": false,

                        "totalDeviceCount": 0,

                        "installedDeviceCount": 0,

                        "violationDeviceCount": 0,

                        "modifiedAt": null,

                        "modifiedBy": null,

                        "actions": null,

                        "systemDefault": false

                    },

                ],

                "assignedPolicies": [

                    {

                        "id": null,

                        "dmPartitionId": null,

                        "name": "Out of Contact ",

                        "systemName": null,

                        "description": null,

                        "dmPartitionDistributionType": null,

                        "policyType": "POLICY",

                        "policyRuleType": "OUT_OF_CONTACT",

                        "uuid": null,

                        "enabled": false,

                        "priority": null,

                        "configurationMutable": false,

                        "distributionMutable": false,

                        "priorityMutable": false,

                        "deletable": false,

                        "totalDeviceCount": 0,

                        "installedDeviceCount": 0,

                        "violationDeviceCount": 0,

                        "modifiedAt": null,

                        "modifiedBy": null,

                        "actions": null,

                        "systemDefault": false

                    },

                ],

                "staticMembers": null

            },

            {

        ],

        "offset": 0,

        "limit": 50

    }

}

Get list of device groups without assigned policies, configurations, and member counts

{
    "errors": null,
    "result": {
        "searchResults": [
            {
                "id": 40165,
                "createdAt": null,
                "createdBy": null,
                "modifiedAt": null,
                "modifiedBy": null,
                "visible": true,
                "dmPartitionId": 23504,
                "name": "All Devices",
                "description": "Targets any type of device.",
                "type": "DEVICE",
                "definition": null,
                "mutable": false,
                "memberCount": 0,
                "systemName": "ALL_DEVICES",
                "membershipStatic": false,
                "dmPartitionName": "Default Space",
                "treeView": null,
                "actionExceptionCodes": null,
                "assignedConfigs": null,
                "assignedPolicies": null,
                "applicationCount": 0,
                "staticMembers": []
            },
            ...
        ],
        "totalCount": 96,
        "offset": 0,
        "limit": 50
    }
}

Get General Information about a Device Group

This call returns a general information about a device group, for example, the query that is used to assemble the members of the device group. You can use the assignedPoliciesAndConfigs and memberCount parameters to reduce the size of the return. You can use this call to help contruct the Get Device Details by Device Group call that gets all details about the devices in a device group. The return values in rule container (field, cfAttributeName, operator, and values) are the ones you use to help construct the Get Device Details by Device Group call.

Authentication

This call requires tenant admin credentials.

HTTP Method

GET

Request URI

/api/v1/rule_group/ruleGroupId?dmPartitionId=dmPartitionId&type=DEVICE

Request Parameters

Parameter

Argument Type

Description

Example Value

ruleGroupId

Path

Device group id. You can get this with the GET /api/v1/rule_group?dmPartitionId=id&type=DEVICE call.

38010

dmPartitionId

 

Query

dmPartitionId is the tenant’s device space ID. You can get this with the GET /api/v1/metadata/tenant call.

23003

assignedPoliciesAndConfigs

Query

Boolean, true or false. Default is true. Set to false to retrieve a response without a list of the assigned policies and configurations, greatly reducing the size of the response.

assignedPoliciesAndConfigs=false

memberCount

Query

Boolean, true or false. Default is true. Set to false to retrieve a response without a count of the group members, reducing query time.

memberCount=false

type=DEVICE

Query

Directs the call to retrieve all device groups.

type=DEVICE

Response Fields

Field

Decription

errors

 

result

 

    id

 

    createdAt

 

    createdBy

 

    modifiedAt

 

    modifiedBy

 

    dmPartitionId

 

    name

 

    description

 

    type

 

    definition

 

    mutable

Can be modified by default.

    memberCount

Count not included if call issued with memberCount=false.

    systemName

 

    membershipStatic

 

    treeView

 

        operator

 

        rule

The values in this container (field, cfAttributeName, operator, and values) are the ones you use to construct the Get Device Details by Device Group call.

            field

 

            cfAttributeName

 

            operator

 

            values

 

        children

 

    actionExceptionCodes

 

    assignedConfigs

Detail not included if call issued with assignedPoliciesAndConfigs=false.

    assignedPolicies

Detail not included if call issued with assignedPoliciesAndConfigs=false.

    staticMembers

 

Example Requests

Get list of device groups with all available data

https://[Ivanti Neurons for MDM]/api/v1/rule_group/40165?type=DEVICE&dmPartitionId=23504

Get list of device groups without assigned policies, configurations, and member counts

https://[Ivanti Neurons for MDM]/api/v1/rule_group/40165?type=DEVICE&dmPartitionId=23504&assignedPoliciesAndConfigs=false&memberCount=false

Example Responses

Get list of device groups with all available data

{
    "errors": null,
    "result": {
        "id": 40165,
        "createdAt": null,
        "createdBy": null,
        "modifiedAt": null,
        "modifiedBy": null,
        "visible": true,
        "dmPartitionId": 23504,
        "name": "All Devices",
        "description": "Targets any type of device.",
        "type": "DEVICE",
        "definition": null,
        "mutable": false,
        "memberCount": 153,
        "systemName": "ALL_DEVICES",
        "membershipStatic": false,
        "dmPartitionName": "Default Space",
        "treeView": null,
        "actionExceptionCodes": null,
        "assignedConfigs": [
            {
                "id": 955365,
                "dmPartitionId": 23504,
                "name": "win_bridge_gpo",
                "systemName": null,
                "description": null,
                "dmPartitionDistributionType": "NONE",
                "policyType": "WINDOWS_GPO_ADMX",
                "policyRuleType": "NONE",
                "uuid": "17c0110b-6794-4051-9342-f8ea19cdb98a",
                "enabled": true,
                "priority": null,
                "cloneable": true,
                "configurationMutable": true,
                "distributionMutable": true,
                "priorityMutable": true,
                "deletable": true,
                "totalDeviceCount": 0,
                "installedDeviceCount": 0,
                "violationDeviceCount": 0,
                "modifiedAt": 1675942023874,
                "modifiedBy": {
                    "id": 67076,
                    "accountUid": "[email protected]",
                    "displayName": "Admin-qa-0"
                },
                "actions": null,
                "cloneableAcrossSpace": false,
                "clonedFromDefaultSpace": false,
                "resourceSupport": {
                    "links": []
                },
                ...
        ],
        "applicationCount": null,
        "staticMembers": []
    }
}

Get list of device groups without assigned policies, configurations, and member counts

{
    "errors": null,
    "result": {
        "id": 40165,
        "createdAt": null,
        "createdBy": null,
        "modifiedAt": null,
        "modifiedBy": null,
        "visible": true,
        "dmPartitionId": 23504,
        "name": "All Devices",
        "description": "Targets any type of device.",
        "type": "DEVICE",
        "definition": null,
        "mutable": false,
        "memberCount": 0,
        "systemName": "ALL_DEVICES",
        "membershipStatic": false,
        "dmPartitionName": "Default Space",
        "treeView": null,
        "actionExceptionCodes": null,
        "assignedConfigs": null,
        "assignedPolicies": null,
        "applicationCount": null,
        "staticMembers": []
    }
}

Get Device Group by Name Across Partitions

This call returns a general information about a device group searched for by name across partitions. You can use the assignedPoliciesAndConfigs and memberCount parameters to reduce the size of the return.

Authentication

This call requires tenant admin credentials.

HTTP Method

GET

Request URI

/api/v1/rule_group/partitions?q=All Devices&type=DEVICE&fq=&dmPartitionIds=ids

Request Parameters

Parameter

Argument Type

Description

Example Value

q

Query

Device group name. You can get this with the GET /api/v1/rule_group?dmPartitionId=id&type=DEVICE call.

All Devices

dmPartitionIds

 

Query

A comma separated list of partitions across which to search for the rule group. You can get partition IDs with the GET /api/v1/metadata/tenant call.

23504

assignedPoliciesAndConfigs

Query

Boolean, true or false. Default is true. Set to false to retrieve a response without a list of the assigned policies and configurations, greatly reducing the size of the response.

assignedPoliciesAndConfigs=false

memberCount

Query

Boolean, true or false. Default is true. Set to false to retrieve a response without a count of the group members, reducing query time.

memberCount=false

type=DEVICE

Query

Directs the call to retrieve all device groups.

type=DEVICE

Response Fields

 

 

Field

Description

errors

 

result

 

    searchResults

 

            id

 

            createdAt

 

            createdBy

 

            modifiedAt

 

            modifiedBy

 

            visible

 

            dmPartitionId

 

            name

 

            description

 

            type

 

            definition

 

            mutable

 

            memberCount

Count not included if call issued with memberCount=false.

            systemName

 

            membershipStatic

 

            dmPartitionName

 

            treeView

 

            actionExceptionCodes

 

            assignedConfigs

 

                    id

Not included if call issued with assignedPoliciesAndConfigs=false.

                    dmPartitionId

Not included if call issued with assignedPoliciesAndConfigs=false.

                    name

Not included if call issued with assignedPoliciesAndConfigs=false.

                    systemName

Not included if call issued with assignedPoliciesAndConfigs=false.

                    description

Not included if call issued with assignedPoliciesAndConfigs=false.

                    dmPartitionDistributionType

Not included if call issued with assignedPoliciesAndConfigs=false.

                    policyType

Not included if call issued with assignedPoliciesAndConfigs=false.

                    policyRuleType

Not included if call issued with assignedPoliciesAndConfigs=false.

                    uuid

Not included if call issued with assignedPoliciesAndConfigs=false.

                    enabled

Not included if call issued with assignedPoliciesAndConfigs=false.

                    priority

Not included if call issued with assignedPoliciesAndConfigs=false.

                    cloneable

Not included if call issued with assignedPoliciesAndConfigs=false.

                    configurationMutable

Not included if call issued with assignedPoliciesAndConfigs=false.

                    distributionMutable

Not included if call issued with assignedPoliciesAndConfigs=false.

                    priorityMutable

Not included if call issued with assignedPoliciesAndConfigs=false.

                    deletable

Not included if call issued with assignedPoliciesAndConfigs=false.

                    totalDeviceCount

Not included if call issued with assignedPoliciesAndConfigs=false.

                    installedDeviceCount

Not included if call issued with assignedPoliciesAndConfigs=false.

                    violationDeviceCount

Not included if call issued with assignedPoliciesAndConfigs=false.

                    modifiedAt

Not included if call issued with assignedPoliciesAndConfigs=false.

                    modifiedBy

Not included if call issued with assignedPoliciesAndConfigs=false.

                        id

Not included if call issued with assignedPoliciesAndConfigs=false.

                        accountUid

Not included if call issued with assignedPoliciesAndConfigs=false.

                        displayName

Not included if call issued with assignedPoliciesAndConfigs=false.

                    actions

 

                    cloneableAcrossSpace

 

                    clonedFromDefaultSpace

 

                    resourceSupport

 

                        links

 

                    status

 

                    error

 

                    systemDefault

 

            applicationCount

 

            staticMembers

 

    totalCount

 

    offset

 

    limit

 

Example Requests

Get list of device groups with all available data

https://[Ivanti Neurons for MDM]/api/v1/rule_group/partitions?q=All Devices&type=DEVICE&fq=&dmPartitionIds=23504

Get list of device groups without assigned policies, configurations, and member counts

https://[Ivanti Neurons for MDM]/api/v1/rule_group/partitions?q=All Devices&type=DEVICE&fq=&dmPartitionIds=23504&assignedPoliciesAndConfigs=false&assignedPolicies=false&memberCount=false

Example Responses

Get list of device groups with all available data

{
    "errors": null,
    "result": {
        "searchResults": [
            {
                "id": 40165,
                "createdAt": null,
                "createdBy": null,
                "modifiedAt": null,
                "modifiedBy": null,
                "visible": true,
                "dmPartitionId": 23504,
                "name": "All Devices",
                "description": "Targets any type of device.",
                "type": "DEVICE",
                "definition": null,
                "mutable": false,
                "memberCount": 153,
                "systemName": "ALL_DEVICES",
                "membershipStatic": false,
                "dmPartitionName": "Default Space",
                "treeView": null,
                "actionExceptionCodes": null,
                "assignedConfigs": [
                    {
                        "id": 1108579,
                        "dmPartitionId": 23504,
                        "name": "Test Cert1",
                        "systemName": null,
                        "description": null,
                        "dmPartitionDistributionType": "ALL",
                        "policyType": "CERTIFICATE",
                        "policyRuleType": "NONE",
                        "uuid": "bdf2b679-c824-4276-97ce-31d04d99292d",
                        "enabled": true,
                        "priority": null,
                        "cloneable": true,
                        "configurationMutable": true,
                        "distributionMutable": true,
                        "priorityMutable": true,
                        "deletable": true,
                        "totalDeviceCount": 0,
                        "installedDeviceCount": 0,
                        "violationDeviceCount": 0,
                        "modifiedAt": 1675943741940,
                        "modifiedBy": {
                            "id": 67076,
                            "accountUid": "[email protected]",
                            "displayName": "Admin-qa-0"
                        },
                        "actions": null,
                        "cloneableAcrossSpace": true,
                        "clonedFromDefaultSpace": false,
                        "resourceSupport": {
                            "links": []
                        },
                        "status": null,
                        "error": null,
                        "systemDefault": false
                    },
                    ...
                ],
                "applicationCount": 0,
                "staticMembers": []
            }
        ],
        "totalCount": 1,
        "offset": 0,
        "limit": 50
    }
}

Get list of device groups without assigned policies, configurations, and member counts

{
    "errors": null,
    "result": {
        "searchResults": [
            {
                "id": 40165,
                "createdAt": null,
                "createdBy": null,
                "modifiedAt": null,
                "modifiedBy": null,
                "visible": true,
                "dmPartitionId": 23504,
                "name": "All Devices",
                "description": "Targets any type of device.",
                "type": "DEVICE",
                "definition": null,
                "mutable": false,
                "memberCount": 0,
                "systemName": "ALL_DEVICES",
                "membershipStatic": false,
                "dmPartitionName": "Default Space",
                "treeView": null,
                "actionExceptionCodes": null,
                "assignedConfigs": null,
                "assignedPolicies": null,
                "applicationCount": 0,
                "staticMembers": []
            }
        ],
        "totalCount": 1,
        "offset": 0,
        "limit": 50
    }
}

Get Device Details by Device Group

This call returns a list and details of all devices in a device group within the device space specified by the parameter dmPartitionId. A device group is also known as a rule group. You will need to issue the call that describes the rules used to construct the parent device group to construct this call.

Authentication

This call requires tenant admin credentials.

HTTP Method

GET

Request URI

/api/v1/device?q=&rows=rows&start=start&dmPartitionId=dmPartitionId&fq=field+operator+fieldValue’&sortFields[0].name=sortField&sortFields[0].order=sortFieldOrder

Request Parameters

Parameter

Argument Type

Description

Example Value

rows

Query

Integer. How many rows to retrieve.

Do not send a value larger than 500 with the rows parameter because the APIs do not permit a value of greater than 500. See Controlling Results .

50

start

Query

Integer. Where in the record set to start displaying records.

0

dmPartitionId

 

Query

dmPartitionId is the tenant’s device space ID. You can get this with the GET /api/v1/metadata/tenant call.

23003

fq

Query

The search query.

You must add _# to the attribute name if using numerical custom device attributes as part of the search criteria.

OSVERSION+EQ+%275.0%27

sortField

Query

The field on which to sort the results.

lastCheckin

sortFieldOrder

Query

How to sort the results, ascending or descending.

ASC

Example Request

https://[Ivanti Neurons for MDM]/api/v1/device?q=&rows=50&start=0&dmPartitionId=23003&fq=OSVERSION+EQ+%275.0%27&sortFields%5B0%5D.name=lastCheckin&sortFields%5B0%5D.order=ASC

Response Fields

FieldDescription
errors 
result 
    totalCount 
    searchResults 
            id 
            mdmChannelIdIdentifier of MDMchannel which is generated by Ivanti Neurons for MDM.
            phoneNumber 
            deviceModel 
            deviceName 
            platformType 
            platformVersion 
            osBuildVersion 
            lastCheckin 
            registrationState 
            displayName 
            firstName 
            lastName 
            uid 
            emailAddress 
            clientVersion 
            manufacturer 
            imei 
            imsi 
            locatorServiceEnabled 
            meid 
            wifiMacAddress 
            serialNumber 
            cellularTechnology 
            currentCarrierNetwork 
            subscriberCarrierNetwork 
            locale 
            ownershipType 
            complianceState 
            roaming 
            supervised 
            udid 
            clientLastCheckin 
            iccid 
            currentMcc 
            currentMnc 
            subscriberMcc 
            subscriberMnc 
            prettyModel 
            policyViolationCount 
            latitude 
            longitude 
            locationLastCapturedAt 
            lastRegistrationTime 
            lostModeEnabled 
            multiUser 
            clientDeviceIdentifier 
            quarantined 
            jailbroken 
            passcodeCompliantTrue if the passcode is compliant with all the requirements on the device, including Exchange and other accounts. Applicable for iOS only (null for the other platforms).
            passcodeCompliantWithProfiles

True if the passcode is compliant with EMM profiles. Applicable for iOS and Android only (null for other platforms).

            blocked 
            locationStatusDetail 
            androidWorkContainerEnabled 
            androidWorkUid 
            fcmEnabled 
            actionExceptionCodes 
            violatedPolicies 
            supportLockMessage 
            ownerId 

            legalOwnerId

Legal owner of the device, for shared iPad devices.

            legalOwnerEmailAddress

Email address of the device legal owner, for shared iPad devices.

            kioskState 
            customAttributes 
            easDeviceIdentifiers 
            appEasIdentifiers 
            androidDeviceOwnerModeEnabled 
            windowsDeviceType 
            secureAppsStatus 
            secureAppsEncryptionStatus 
            secureAppsEncryptionMode 
            tpmSpecificationVersion 
            bridgeVersion 
            bridgeDeviceDataLastCapturedAt 
            lastHotfixId 
            lastHotfixInstalledOn 
    offset 
    limit 
    queryTime 
    facetedResults 
        LAST_HOTFIX_ID 
        SUBSCRIBERCARRIERNETWORK 
            UNKNOWN 
        COMPLIANCESTATE 
            false 
            true 
        SUPERVISED 
            false 
        SECUREAPPSSTATUS 
        ANDROIDDEVICEOWNERMODEENABLED 
            false 
        PRETTYMODEL 
        ACCOUNTGROUP 
        REGISTRATIONSTATE 
            ACTIVE 
        ACCOUNTENABLED 
        MULTIUSER 
        ANDROIDWORKENABLED 
        OSBUILDVERSION 
        KIOSKSTATE 
        ANDROIDSECURITYPATCHLEVEL 
        ROAMING 
        LOSTMODEENABLED 
        JAILBROKEN 
        PLATFORMTYPE 
        OWNERSHIPTYPE 
    totalUnfilteredResultCount 

Example Response

{ "errors": null, "result": { "totalCount": 2, "searchResults": [ { "id": 1169944, "mdmChannelId": "adc04c0b-724a-49fd-a665-730ce6c88289", "phoneNumber": null, "deviceModel": "MacBookPro11,1", "deviceName": "Stuart's MacBook Pro", "platformType": "OSX", "platformVersion": "10.13.3", "osBuildVersion": "17D47", "lastCheckin": 1517353729653, "registrationState": "ACTIVE", "displayName": "Stuart Cordery", "firstName": "Stuart", "lastName": "Cordery", "uid": "[email protected]", "emailAddress": "[email protected]", "clientVersion": null, "manufacturer": "Apple Inc.", "imei": "", "imsi": null, "locatorServiceEnabled": false, "meid": null, "wifiMacAddress": "60:f8:1d:b1:ed:c8", "serialNumber": "C02NT2XDG3QK", "cellularTechnology": "device__p_cellular_technology", "currentCarrierNetwork": "UNKNOWN", "subscriberCarrierNetwork": "UNKNOWN", "locale": null, "ownershipType": "UNKNOWN", "complianceState": true, "roaming": false, "supervised": false, "udid": "6A13DA42-D60E-5B46-BBFC-D88846AAD3B0", "clientLastCheckin": null, "iccid": "", "currentMcc": null, "currentMnc": null, "subscriberMcc": null, "subscriberMnc": null, "prettyModel": "MacBookPro11,1", "policyViolationCount": 0, "latitude": null, "longitude": null, "locationLastCapturedAt": null, "lastRegistrationTime": 1517357240374, "lostModeEnabled": false, "multiUser": false, "clientDeviceIdentifier": null, "quarantined": false, "jailbroken": false, "passcodeCompliant": null,

"passcodeCompliantWithProfiles": null, "blocked": false, "locationStatusDetail": null, "androidWorkContainerEnabled": false, "androidWorkUid": null, "fcmEnabled": false, "actionExceptionCodes": [ ], "violatedPolicies": [ ], "supportLockMessage": false, "ownerId": 1110567, "legalOwnerId": null, "legalOwnerEmailAddress": null, "kioskState": "NOT_CONFIGURED", "customAttributes": null, "easDeviceIdentifiers": [ ], "appEasIdentifiers": null, "androidDeviceOwnerModeEnabled": false, "windowsDeviceType": null, "secureAppsStatus": null, "secureAppsEncryptionStatus": null, "secureAppsEncryptionMode": null, "tpmSpecificationVersion": null, "bridgeVersion": null, "bridgeDeviceDataLastCapturedAt": null, "lastHotfixId": null, "lastHotfixInstalledOn": null }, { "id": 197483, "mdmChannelId": "3e85199d-1774-4032-9ec1-aebd08bfd442", "phoneNumber": "+447480308390", "deviceModel": "iPhone6,2", "deviceName": "iPhone", "platformType": "IOS", "platformVersion": "8.1.2", "osBuildVersion": "12B440", "lastCheckin": 1422649201021, "registrationState": "ACTIVE", "displayName": "Stuart Cordery", "firstName": "Stuart", "lastName": "Cordery", "uid": "[email protected]", "emailAddress": "[email protected]", "clientVersion": "2.9.0 (2.9.0.15)", "manufacturer": "Apple Inc.", "imei": "35 876105 566321 0", "imsi": null, "locatorServiceEnabled": false, "meid": null, "wifiMacAddress": "90:b9:31:73:5b:f6", "serialNumber": "F2LLMEE9FFG8", "cellularTechnology": "device__p_cellular_technology", "currentCarrierNetwork": "UNKNOWN", "subscriberCarrierNetwork": "Three", "locale": null, "ownershipType": "UNKNOWN", "complianceState": false, "roaming": true, "supervised": false, "udid": "f831a81049c541ad78b12e09db0849e06ad6dadb", "clientLastCheckin": 1422640798139, "iccid": "8944 2001 0071 0054 856", "currentMcc": "310", "currentMnc": "410", "subscriberMcc": "234", "subscriberMnc": "20", "prettyModel": "iPhone 5S", "policyViolationCount": 3, "latitude": 33.651546, "longitude": -117.99167, "locationLastCapturedAt": 1422640798182, "lastRegistrationTime": 1418162611699, "lostModeEnabled": false, "multiUser": false, "clientDeviceIdentifier": "0B6DC679-A419-4288-951A-C3C470097C71", "quarantined": false, "jailbroken": false, "passcodeCompliant": true, "passcodeCompliantWithProfiles": true, "blocked": false, "locationStatusDetail": { "lastUpdatedAt": 1422640798182, "locationStatus": "AVAILABLE" }, "androidWorkContainerEnabled": false, "androidWorkUid": null, "fcmEnabled": false, "actionExceptionCodes": [ ], "violatedPolicies": [ "International Roaming Devices", "MDM / Device Administration Disabled", "Out of Contact " ], "supportLockMessage": true, "ownerId": 1110567,

"legalOwnerId": null, "legalOwnerEmailAddress": null, "kioskState": "NOT_CONFIGURED", "customAttributes": null, "easDeviceIdentifiers": [ "ApplF2LLMEE9FFG8" ], "appEasIdentifiers": null, "androidDeviceOwnerModeEnabled": false, "windowsDeviceType": null, "secureAppsStatus": null, "secureAppsEncryptionStatus": null, "secureAppsEncryptionMode": null, "tpmSpecificationVersion": null, "bridgeVersion": null, "bridgeDeviceDataLastCapturedAt": null, "lastHotfixId": null, "lastHotfixInstalledOn": null } ], "offset": 0, "limit": 50, "queryTime": 1, "facetedResults": { "LAST_HOTFIX_ID": { }, "SUBSCRIBERCARRIERNETWORK": { "UNKNOWN": 1, "Three": 1 }, "COMPLIANCESTATE": { "false": 1, "true": 1 }, "SUPERVISED": { "false": 2 }, "SECUREAPPSSTATUS": { }, "ANDROIDDEVICEOWNERMODEENABLED": { "false": 2 }, "PRETTYMODEL": { "iPhone 5S": 1, "MacBookPro11,1": 1 }, "ACCOUNTGROUP": { "All Users": 2 }, "REGISTRATIONSTATE": { "ACTIVE": 2 }, "ACCOUNTENABLED": { "true": 2 }, "MULTIUSER": { "false": 2 }, "ANDROIDWORKENABLED": { "false": 2 }, "OSBUILDVERSION": { "12B440": 1, "17D47": 1 }, "KIOSKSTATE": { "NOT_CONFIGURED": 2 }, "ANDROIDSECURITYPATCHLEVEL": { }, "ROAMING": { "false": 1, "true": 1 }, "LOSTMODEENABLED": { "false": 2 }, "JAILBROKEN": { "false": 2 }, "PLATFORMTYPE": { "OSX": 1, "IOS": 1 }, "OWNERSHIPTYPE": { "UNKNOWN": 2 } }, "totalUnfilteredResultCount": 0 } }

Add or Remove a Device to or from a Device Group

This call adds or removes a device to or from a device group. To add a device, include its deviceId in the call. To remove a device, exclude its deviceId from the call.

Authentication

This call requires Tenant Admin credentials.

HTTP Method

POST

Request URI

/api/v1/rule_group/deviceGroupId/devices

Request Parameters

Parameter

Argument Type

Description

Example Value

deviceGroupId

Query Path

ID of the device group.

47803

deviceIds

Request Body

IDs of the devices to add to the group. Exlude the ID to remove the corresponding device from the group.

"{""deviceIds"":[""337552""]}"

Example Request

Add a Device to a Device Group

curl "https://[Ivanti Neurons for MDM]/api/v1/rule_group/47808/devices"  --data-binary "{""deviceIds"":[""337552""]}"

Remove a Device from a Device Group

curl "https://[Ivanti Neurons for MDM /api/v1/rule_group/47808/devices"  --data-binary "{""deviceIds"":[]}"